package com.gohi.main.store.service;

import java.util.List;

import org.hibernate.TransactionException;


import com.gohi.main.store.hbm.BaseStoreClass;
import com.gohi.main.store.hbm.ShopgooBeautician;
import com.gohi.main.store.hbm.ShopgooBrand;
import com.gohi.main.store.hbm.ShopgooGroupbuy;
import com.gohi.main.store.hbm.ShopgooStore;
import com.gohi.main.store.hbm.ShopgooStoreClass;
import com.gohi.main.system.hbm.ShopgooWxBrand;


public interface IStoreService {
	
	public abstract List<ShopgooStoreClass> getStoreClassByparentID(String id)throws TransactionException;
	
	/**
	 * 获取所有的商户分类
	 * @return
	 * @throws TransactionException
	 */
	public abstract List<BaseStoreClass> getStoreClass()throws TransactionException;
	
	/**
	 *   商铺查询
	 * @param store 商铺查询
	 * @return
	 */
	public abstract List<ShopgooStore> queryStore(ShopgooStore store);
	/**
	 * 根据ID查询单个实体的商户
	 * @param id
	 * @return
	 */
	public abstract ShopgooStore getStoreById(String id);
	
	/**
	 * 商铺项目查询
	 * @param group
	 * @return
	 */
	public abstract List<ShopgooGroupbuy> queryGroup(ShopgooGroupbuy group);
	
	/**
	 * 查询技师信息
	 * @param group
	 * @return
	 */
	public abstract List<ShopgooBeautician> queryBeauticianByStroe(String stroeid);
	/**
	 * 根据技师ID 查询技师的信息
	 * @param id 技师的ID
	 * @return 技师信息
	 */
	public abstract ShopgooBeautician queryBeauticianByid(String id);
	
	/**
	 * 根据一个服务查询技师的列表
	 * @param id
	 * @return
	 */
	public abstract List<ShopgooBeautician> queryBeauticianByGroupId(String id);
	
	/**
	 * 根据技师查询他能做的服务项目
	 * @param id 主键ID
	 * @return
	 */
	public abstract List<ShopgooGroupbuy> queryGroupbuyByBeauticId(String id);
	
	/**
	 * 查询收藏的店铺
	 * @param store
	 * @return
	 */
	public abstract List<ShopgooStore> queryFavStore(String  userid);
	
	
	public abstract int  favThere(String type, String favid, String userid);
	/**
	 * 添加一个收藏信息
	 * @param type 类型
	 * @param favid 收藏商铺的ID
	 * @param userid  用户的ID
	 * @return
	 */
	public abstract int addFav(String  type,String favid,String userid);
	
	/**
	 * 查询所有的品牌
	 * @return
	 */
	public abstract List<ShopgooBrand> queryAllBrand();
	
}
